layui.use(['table', 'admin', 'ax', 'func', 'tree'], function () {
	var $ = layui.$;
	var table = layui.table;
	var $ax = layui.ax;
	var admin = layui.admin;
	var func = layui.func;
	var tree = layui.tree;

	/**系统管理--部门管理*/
	var Dept = {
		tableId: "deptTable",
		condition: { deptId: "", deptName: "" }
	};

	/**
	 * 初始化表格的列
	 */
	Dept.initColumn = function () {
		return [[
			{type: 'numbers', title: '序号'},
			{field: 'deptId', hide: true, sort: false, title: 'id'},
			{field: 'simpleName', align: "center", sort: false, title: '部门简称'},
			{field: 'fullName', align: "center", sort: false, title: '部门全称'},
			{field: 'sort', align: "center", sort: false, title: '排序'},
			{align: 'center', toolbar: '#tableBar', title: '操作', width: 120}
		]];
	};

	Dept.queryParams = function() {
		var queryData = {};
		queryData['condition'] = $("#name").val();
		queryData['deptId'] = Dept.condition.deptId;
		queryData['n'] = new Date().getTime();
		return queryData;
	};

	/**点击查询按钮*/
	Dept.search = function () {
		var queryData = Dept.queryParams();
		table.reload(Dept.tableId, {
			where: queryData, page: {curr: 1}
		});
	};

	/**选择部门时*/
	Dept.onClickDept = function (obj) {
		Dept.condition.deptId = obj.data.id;
		Dept.condition.deptName = obj.data.title;
		Dept.search();
	};

	/**弹出添加*/
	Dept.openAddDept = function () {
		var deptId = Dept.condition.deptId == '' ? '0' : Dept.condition.deptId;
		var deptName = Dept.condition.deptName == '' ? '顶级' : Dept.condition.deptName;
		deptName = decodeURI(deptName);
		func.openEx({
			height: 500,
			width: 1000,
			title: '添加部门',
			content: Feng.ctxPath + '/dept/dept_add?parentId=' + deptId + "&parentName=" + deptName,
			tableId: Dept.tableId,
			endCallback: function () {
				Dept.loadDeptTree();
			}
		});
	};

	/**
	 * 点击编辑部门
	 * @param data 点击按钮时候的行数据
	 */
	Dept.onEditDept = function (data) {
		func.openEx({
			height: 500,
			width: 1000,
			title: '编辑部门',
			content: Feng.ctxPath + "/dept/dept_update?deptId=" + data.deptId,
			tableId: Dept.tableId,
			endCallback: function () {
				Dept.loadDeptTree();
			}

		});
	};

	/**
	 * 点击删除部门
	 * @param data 点击按钮时候的行数据
	 */
	Dept.onDeleteDept = function (data) {
		var operation = function () {
			var ajax = new $ax(Feng.ctxPath + "/dept/delete", function (result) {
				if (result.code !== 200) {
					Feng.error(result.message);
					return;
				}
				Feng.success("删除成功!");
				table.reload(Dept.tableId);
				Dept.loadDeptTree();
			}, function (data) {
				Feng.error("删除失败!" + data.responseJSON.message + "!");
			});
			ajax.set("deptId", data.deptId);
			ajax.start();
		};
		Feng.confirm("是否删除部门 " + data.simpleName + "?", operation);
	};

	// 渲染表格
	var tableResult = table.render({
		elem: '#' + Dept.tableId,
		url: Feng.ctxPath + '/dept/list',
		queryParams: Dept.queryParams,
		page: true,
		limit: 20,
		height: "full-138",
		cols: Dept.initColumn()
	});

	/**左侧树加载*/
	Dept.loadDeptTree = function () {
		var ajax = new $ax(Feng.ctxPath + "/dept/layuiTree", function (data) {
			tree.render({
				elem: '#deptTree',
				data: data,
				click: Dept.onClickDept,
				onlyIconControl: true
			});
		}, function (data) {});
		ajax.start();
	};

	//初始化左侧部门树
	Dept.loadDeptTree();

	// 搜索按钮点击事件
	$('#btnSearch').click(function () {
		Dept.search();
	});

	// 添加按钮点击事件
	$('#btnAdd').click(function () {
		Dept.openAddDept();
	});

	// 导出excel
	$('#btnExp').click(function () {
		xyexport.do(layui, tableResult, {"headPk": "deptId"});
	});

	$("#btnReset").click(function () {
		$('#searchForm')[0].reset();
	});

	// 工具条点击事件
	table.on('tool(' + Dept.tableId + ')', function (obj) {
		var data = obj.data;
		var layEvent = obj.event;
		if (layEvent === 'edit') {
			Dept.onEditDept(data);
		} else if (layEvent === 'delete') {
			Dept.onDeleteDept(data);
		}
	});
});

$(function () {
	var panehHidden = false;
	$('#myContiner').layout({initClosed: panehHidden, west__size: 260});
});
